/*
 * @Author: BlueSkyDream
 * @Date: 2022-10-11 08:22:38
 * @LastEditTime: 2023-03-30 16:21:16
 * @Description: 待填充
 */
//1 引入 express 框架
const  express =require("express");
// 2.引入 url模块  对url格式的字符串进行解析,返回一个对象.根据不同的url进行处理,返回不同的数据
const url = require("url");
// 2. 创建应用对象
const app =express();

// 3. 创建路由规则
app.get('/xhr-get',(request,response)=>{
    // 设置响应头，允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    // 采用request.query来接收前端get请求中的query参数
    let parseObj=url.parse(request.url,true)
    console.log(parseObj)
    response.send("Hello Erss");
});

app.get('/delay',(request,response)=>{
    // 设置响应头，允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    setTimeout(()=>{
        response.send("Hello Express");
    },3000)  
});

app.all('/axios-server',(request,response)=>{
    // 设置响应头，允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //允许所有客户端自定义的头信息
    response.setHeader('Access-Control-Allow-Headers','*')
    const data={
        name:"胡晨",
        age:25
    }
    console.log(request.headers);
    const result=JSON.stringify(data);
    response.send(result);
 
});
app.post('/xhr-post',(request,response)=>{
    // 设置响应头，允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //允许所有客户端自定义的头信息
    response.setHeader('Access-Control-Allow-Headers','*');
    // 响应一个数据
    const data={
        name:"huchen"
    };
    console.log(request.data.a)
    //将js对象转化为字符串
    let str=JSON.stringify(data);
    response.send(str);
});

// 4. 监听端口启动服务

app.listen(8070,()=>{

    console.log("服务端已经启动, 8070端口监听中....")
})